Тут вже є відповіді на це питання: Як повернути відповідь з асинхронного дзвінка? (42 відповіді) Закрито 5 місяців тому. Отже, під час запуску наступного коду відповідь console.log (ba) не визначена Але коли я пробую це в консолі Chrome V8, я отримую правильний результат, який я очікую. Я не зовсім впевнений, що тут відбувається. нехай ба; функція Setqa () { (async () => { await fetch ('questions.json') .тем (res => res.json ()) . then (async (data) => { ba = очікування даних; }); }) (); } Setqa (); console.log (ba); Вміст файлу json такий: "питання": [{ "questionType": "кілька", "question": "Як погода", "відповідає": "", "questionAnswer": "" }, { "questionType": "кілька", "question": "Як справи сьогодні?", "відповіді": " 1", "questionAnswer": "textPurpose1" } ]
2021-02-27 08:14:05
Я думаю, це повинно спрацювати нехай ба; функція Setqa () { return fetch ('questions.json') .тем (res => res.json ()) . then (async (data) => { ba = очікування даних; }); } Setqa (). Потім (() => console.log (ba)); Але кращий підхід був би функція асинхронізації setQa () { const res = await fetch ('questions.json'); повернути res.json (); } нехай ba = очікує setQa (); | Не відповідь, яку ви шукаєте? Перегляньте інші запитання, позначені тегами javascript json fetch console.log, або задайте власне запитання.